﻿@using System

@page "/Bodka v Bare"

<PageTitle>Бодька в баре</PageTitle>

<h1>Бодька&nbsp;в&nbsp;баре</h1>

<div class="console-window text-center my-3" @onkeydown="@Console.OnKeyDown" tabindex="0">
	<div class="d-inline-block bg-dark text-light border p-2 text-start shadow padding-0">
		<pre class="console">
			<code>@Console.State</code>
		</pre>
	</div>
	<div>
		@for (char i = '0'; i <= 'z'; i++)
		{
			char c = i;
			<span></span>
			<button class="btn btn-primary" @onclick="() => Console.EnqueueInput(ConsoleKey.A + (c - 'a'))">@c</button>
			<span></span>
		}
		<button class="btn btn-primary" @onclick="() => Console.EnqueueInput(ConsoleKey.Enter)">Enter</button>
	</div>
</div>

<div class="alert alert-secondary" role="alert">
	&#9000; Ввод с клавиатуры поддерживается, если вы <strong>кликните</strong> по игре.
</div>

<div class="alert alert-secondary" role="alert">
	&#8635; Для перезапуска игры <strong>перезагрузите</strong> страницу.
</div>

@code
{
	Games.Bodka_v_Bare.Bodka_v_Bare Game;
	BlazorConsole Console;

	public Bodka_v_Bare()
	{
		Game = new();
		Console = Game.Console;
		Console.TriggerRefresh = StateHasChanged;
	}

	protected override void OnInitialized() => InvokeAsync(Game.Run);
}